Returns the available audio output devices, such as speakers and headphones.
async function listAudioOutputDevices(): Promise<MediaDeviceInfo[]>;
The listAudioOutputDevices() function queries the browser for all available media devices and returns only the audio output devices, as plain MediaDeviceInfo objects.
Use the result with AudioDevice.setOutputDevice() to switch the output device of an existing audio device, without recreating the AudioContext and without reloading the page. Unlike the deprecated resolveAudioOutputDevices(), this function does not create an AudioContext for every device.
Device labels are only filled in after the user granted permission to access media devices, which DspPipeline.initializeDpsPipeline() requests. Chromium based browsers also list the pseudo devices "default" and "communications".
Note: This function is asynchronous and must be called within an asynchronous scope.
This function does not accept any parameters.
MediaDeviceInfo[] – All devices of kind "audiooutput".import { AudioDevice, listAudioOutputDevices } from "@fluex/fluexgl-dsp";
const outputs = await listAudioOutputDevices();
if (AudioDevice.supportsOutputDeviceSelection)
await audioDevice.setOutputDevice(outputs[1]);
If the browser blocks access to media device enumeration due to missing permissions or an insecure context, enumerateDevices() may throw a DOMException.
No custom FluexGL-DSP error codes are currently emitted by this function.